Data storage applications (for example, solid state drives, hard disk drives, and the like) may use LDPC to correct errors that occur when storing and reading or sending and receiving information. One design choice in planning LDPC coding systems is an amount of redundancy (ECC parity bits) used to meet the product specification. This redundancy is represented by the code rate of an LDPC code, which is equal to the extra redundancy length divided by the total number of bits stored. The general trend is that the lower the code rate is (more redundancy is added), the better the user data is protected and the better the error correcting performance is. If the code rate is chosen too high, the device may fail before the targeted Program/Erasure lifetime. On the other hand, if the code rate is chosen too low, extra storage space may be wasted. Different LDPC encoder/decoder designs are implemented for different code rates and for different chips/technologies (2× or 1×) or applications. Devices from different manufacturers may utilize different code rates, and, in that regard, code rates may span a wide range.